﻿using System;

namespace Kyoh.Lib.Win32API
{
    /// <summary>ウィンドウの表示状態を指定します。</summary>
	[Flags]
	public enum ShowWindowFlags : int
	{
		/// <summary>ウィンドウを非表示にして、他のウィンドウをアクティブにします。</summary>
		Hide = 0,
		/// <summary>ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、ウィンドウの位置とサイズを元に戻します。アプリケーションは、最初にウィンドウを表示させるときにこのフラグを指定するべきです。</summary>
		ShowNormal = 1,
		/// <summary>ウィンドウをアクティブにして、最小化されたウィンドウとして表示します。</summary>
		ShowMinimized = 2,
		/// <summary>ウィンドウをアクティブにして、最大化されたウィンドウとして表示します。</summary>
		ShowMaximized = 3,
        /// <summary>ウィンドウをアクティブにして、最大化されたウィンドウとして表示します。</summary>
        Maximize = 3,
		/// <summary>ウィンドウをアクティブにはせずに表示します。</summary>
		ShowNoActivate = 4,
		/// <summary>ウィンドウをアクティブにして、現在の位置とサイズで表示します。</summary>
		Show = 5,
		/// <summary>指定されたウィンドウを最小化して、次の Z オーダーにあるトップレベルウィンドウをアクティブにします。</summary>
		Minimize = 6,
		/// <summary>ウィンドウを最小化されたウィンドウとして表示します。ウィンドウはアクティブ化されません。</summary>
		ShowMinNoActive = 7,
		/// <summary>ウィンドウを現在の位置とサイズで表示します。ウィンドウはアクティブ化されません。</summary>
		ShowNA = 8,
		/// <summary>ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、ウィンドウの位置とサイズを元に戻します。アプリケーションは、最小化されたウィンドウの位置とサイズを元に戻すときにこのフラグを指定するべきです。</summary>
		Restore = 9,
		/// <summary>アプリケーションを起動したプログラムが CreateProcess 関数にパラメータとして渡した STARTUPINFO 構造体で指定されている 値に基づいて表示状態が設定されます。</summary>
		ShowDefault = 10,
		/// <summary>Windows 2000/XP： ウィンドウを所有しているスレッドがハングしている状態であっても、ウィンドウを最小化します。他のスレッドからウィンドウを最小化させる場合にのみ、このフラグを使用するべきです。</summary>
		ForceMinimize = 11,
	}
}
